/**
 * 初始化查询功能
 * @param qryDivId 查询表单所在的DIV
 * @param resultDivId 查询结果所在的DIV
 * @param gridId 查询结果列表
 * @param qryChecker 查询前对查询条件进行校验
 * @return
 */
function initQry(qryFmId, resultDivId, gridId, qryChecker) {
	// 初始化查询DIV
	var qryFm = $("#" + qryFmId);
	var resultDiv = $("#" + resultDivId);
	
	qryFm.form({
		url: qryFm.attr("action"),
		onSubmit: function() {
			if (typeof(qryChecker) == "function") {
				return qryChecker();
			}
		},
		success: function(data) {
			var j = $.parseJSON(data);
			if (j.result == "succ") {
				resultDiv.panel("open");
				showQryResult(qryFmId, gridId, j);
			} else if (j.result == "fail") {
				alert("查询失败:" + j.msg);
			} else {
				alert("未知错误，请联系管理员");
			}
		}
	});
	
	// 初始化查询结果DIV
	var title = resultDiv.attr("title");
	if ($.trim(title) == "") {
		title = "查询结果";
	}
	resultDiv.panel({
		title: resultDiv.attr("title"),
		closed: true
	});
}
/**
 * 创建一个DataGrid
 * @param gridId
 * @param j
 * @param qryFm
 * @return
 */
function showQryResult(qryFmId, gridId, j) {
	var grd = $("#" + gridId);
	var qryFm = $("#" + qryFmId);
	grd.datagrid({
		height: 320,
		singleSelect: true,
		checkOnSelect: true,
		selectOnCheck: true,
		pageNumber: j.pageNum,
		pageSize: j.pageSize,
		pageList: [5,10,15,20,25,30],
		loadMsg: "查询中...",
		columns:[
			j.columns
		],
		data: j.rows,
		pagination: true
	});
	grd.datagrid("getPager").pagination({
		total: j.total,
		onSelectPage: function(pageNum, pageSize) {
			qryFm.children("input[name='pageNum']").val(pageNum);
			qryFm.children("input[name='pageSize']").val(pageSize);
			qryFm.submit();
		}
	});
}
/**
 * 构建新增弹出框
 * @param divId
 * @param qryBtnId
 * @return
 */
function crtAddDialog(addDivId, addFmId, callBack) {
	initFm(addFmId, callBack);
	crtDialog(addDivId, "新增",
			function() {
				if (confirm("确认保存?")) {
					$("#" + addFmId).submit();
				}
				return true;
			}
	);
}
/**
 * 构建新增弹出框
 * @param editFm
 * @param callback
 * @return
 */
function crtEditDialog(editDivId, editFmId, callBack) {
	initFm(editFmId, callBack);
	crtDialog(editDivId, "修改",
			function() {
				if (confirm("确认保存?")) {
					$("#" + editFmId).submit();
				}
				return true;
			}
	);
}
function initFm(fmId, callBack) {
	var fm = $("#" + fmId);
	// 先初始化新增表单
	var url = fm.attr("action");
	alert(url);
	fm.form({
		url: url,
		success: function(data) {
			var j = $.parseJSON(data);
			if (j.result == "succ") {
				if (typeof(callBack) == "function") {
					callBack();
				}
			} else {
				alert("错误:" + j.msg);
			}
		}
	});
}
/**
 * 将一个DIV创建为一个弹出层，包含两个按钮，确认/取消
 * @param divId DIV的ID
 * @param confCalbk 点击"确认"按钮后的回调函数
 * @return
 */
function crtDialog(divId, title, confCalbk) {
	var d = $("#" + divId);
	var t = d.attr("title");
	if ($.trim(t) == "") {
		t = title;
	}
	d.dialog({
		title: t,
		iconCls: d.attr("type"),
		width: 500,
		height: 250,
		top: 100,
		closed: true,
		cache: false,
		modal: true,
		inline: false,
		buttons:[{
			text:"确认",
			handler:function() {
				if (typeof(confCalbk) == "function") {
					if (confCalbk()) {
						d.dialog("close");
					}
				}
			}
		},{
			text:"取消",
			handler:function() {
				d.dialog("close");
			}
		}]
	});
}
/**
 * 打开修改弹出层修改记录信息
 * @param gridId
 * @return
 */
function editItem(gridId) {
	var sel = $("#" + gridId).datagrid("getSelected");
	if (sel == null) {
		alert("请选择一条记录");
	} else {
		if (confirm("确认要修改选中的记录吗?")) {
			$("#editDiv").dialog("open");
			$("#editForm").form("load", sel);
		}
	}
}
/**
 * 删除一条记录
 * @param gridId
 * @return
 */
function deleteItem(gridId, deleteUrl, itemKey) {
	var sel = $("#" + gridId).datagrid("getSelected");
	if (sel == null) {
		alert("请选择一条记录");
	} else {
		if (confirm("确认要删除选中的记录吗?")) {
			alert("ok");
		}
	}
}
$.extend($.fn.validatebox.defaults.rules, {
	noCn: {
		validator: function(value) {
			// 不允许有中文
			if (value == "lijin") {
				return true;
			} else {
				return false;
			}
		},
		message: "我的验证"
	}
});